// subpkg/chatwx/index.js
const util = require('../../utils/util')
import Toast from '@vant/weapp/toast/toast';
Page({
  /**
   * 页面的初始数据
   */
  data: {
    getId: '',  // 消息接收方的di
    postDetail: {},
    msg: '',
    msgList: [],
    ava: wx.getStorageSync('user').img,
    sendBtn: true,
    scrollTo: '',
    endId: '',
  },
  inputChange: function(e) {
		this.setData({
			msg: e.detail.value
		})
  },
  sendMsg() {
    if (!this.data.sendBtn) {
      return
    }
    if (this.data.msg == '') {
      Toast('输入内容为空');
      return
    }
    this.setData({sendBtn:false})
    Toast.loading({
      message: '发送中...',
      forbidClick: true,
    });
    let t = new Date()
    let obj = {
      sendId: wx.getStorageSync('openid'),
      getId:  this.data.getId,
      msg: this.data.msg,
      time:  t.getTime(),
      creatTime: util.formatTime(t)
    }
    console.log('obj', obj)
    // return
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'quickstartFunctions',
      // 传给云函数的参数
      data: {
        type: 'sendMsg',
        obj: obj,
      },
    }).then((resp) => {
      this.getMsg()
      this.setData({msg: ''})
      this.setData({sendBtn:true})
      Toast.clear()
    }).catch((e) => {
      console.log(e)
    });
  },
  autoScroll() {
    let view_id = 'view_id_' + parseInt(Math.random() * 1000000)
    this.setData({
      scrollTo: ''
    })
    this.setData({
      endId: view_id
    })
    this.setData({
      scrollTo: view_id
    })
  },
  getMsg(val) {
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'quickstartFunctions',
      // 传给云函数的参数
      data: {
        type: 'getMsg',
        sendId: wx.getStorageSync('openid'),
        getId: this.data.getId,
      },
    }).then((resp) => {
      console.log('getMsg',resp)
      resp.result.data.forEach((item,index) => {
        item.creatTime = item.creatTime.slice(6,16)
        if (index != 0 && (item.time - resp.result.data[index-1].time >=600000)) {
          item.showTime = true
        }
      })
      this.setData({
        msgList: resp.result.data
      })

      if (val) {
        this.isRead()
      }
      this.autoScroll()
    }).catch((e) => {
      console.log('e',e)
    });
  },
  // 已读
  isRead() {
    // console.log('msgList', )
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'quickstartFunctions',
      // 传给云函数的参数
      data: {
        type: 'isRead',
        _id: this.data.msgList[this.data.msgList.length-1]._id,
        getId: this.data.getId,
      },
    }).then((resp) => {
      console.log('已读',resp)
    }).catch((e) => {
      console.log('e',e)
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let data = JSON.parse(decodeURIComponent(options.data))
    // this.setData({getId:options.id})
    this.setData({
      postDetail: data,
      getId: data.openid
    })
    wx.setNavigationBarTitle({
      title: this.data.postDetail.userName || '忙鸟',
    }),
    console.log('postDetail', this.data.postDetail, this.data.getId)
    console.log('ava', this.data.ava)
    this.getMsg(true)
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})